package com.sugon.entity;

import cn.hutool.core.util.StrUtil;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 模具类型实体
 * 表名 MODULE_TYPE
 *
 * @author YuXD
 * @date 2023-02-27
 */
@Data
public class ModuleTypeEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 修改时间
     */
    private Date updateDate;
    /**
     * 修改人
     */
    private String updateUser;
    /**
     * 创建时间
     */
    private Date createDate;
    /**
     * 创建人
     */
    private String createUser;
    /**
     * 删除标识
     */
    private Integer delFlag;
    /**
     * 上级类型
     */
    private String superType;
    /**
     * 类型名称
     */
    private String typeName;
    /**
     * 类型编码
     */
    private String typeCode;
    /**
     * ID
     */
    private String id;

    private String parentName;

    /******************VO字段********************/

    /**
     * 模具总数
     */
    private int totalNum = 0;

    /**
     * 可用模具总数 = 模具总数-模具报废-镶块报废-封存-外借
     */
    private long availableNum = 0;

    /**
     * 当前模具分类下已关联的位置列表
     */
    private List<MoldTypePositionEntity> positionList;

    public String getTypeName() {
        return StrUtil.format(this.typeName + " {}/{}", availableNum, totalNum);
    }
}
